const mypath = 'C:/Users/tujunxiong/Desktop/NodeJs/02-NodeJs基础-第2天-{ http、跨域处理 }/4-源代码(课下)';

// 利用path核心对象来拼接并修正路径
const path = require('path');


// 1: 引入fs核心对象
const fs = require('fs');

function myReadFile (tempPath) {
    // 2: fs去读这个目录 ,返回字符串数组,其中有目录和文件 
  fs.readdir(tempPath,(err,files)=>{
    
    // 循环字符串数组,获取每个文件名
    files.forEach(file=> {
      // console.log(file);
      // 3: 要判断就需要每个文件都stat一下,通过isFile来判断
      // 3.5: 需要绝对路径
      // 3.8: 在拼接路径的过程中,我们担心路径拼多了或者拼少了/
      //     以上是为了省去拼接多少个/的顾虑
      let fPath = path.join(tempPath,file);
      fs.stat(fPath,(err,stat)=>{
          // 4: 如果是文件夹,就继续同样操作,如果是文件,就输出倒控制台
          if(stat.isFile() ) {
            console.log(file);
          } else {
            // 递归入口
            myReadFile(fPath);
          }
      });
    });
  });
}

myReadFile(mypath);  // 4-源代码(课下)